from flask import Blueprint, current_app, make_response
from flask_wtf import csrf

html = Blueprint('web_html', __name__)

# 路由暂存到蓝图中，蓝图注册后，统一到app中
@html.route("/<re(r'.*'):file_name>")
def get_html(file_name):
    '''返回静态文件'''
    if not file_name:
        file_name = 'index.html'

    if file_name != 'favicon.ico':
        file_name = 'html/' + file_name

    # 生成csrf_token
    csrf_token = csrf.generate_csrf()
    # print(csrf_token)
    # flask提供的返回静态文件的方法
    resp = make_response(current_app.send_static_file(file_name))

    # 把csrf设置到cookie中,有效期，默认关闭时失效
    resp.set_cookie('csrf_token', csrf_token)
    return resp